package chat1.server.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBUtils {
    static ThreadLocal<Connection>  threadLocal=new ThreadLocal<Connection>();

    static Connection conn=null;
    public static Connection getConnection() {
        Connection conn = threadLocal.get() ;    // 先判断一下在ThreadLocal里是否有连接对象
        if(conn == null) {    // 第一次使用，没有连接，没有连接应该创建一个连接
            try {    // 一旦连接出现了错误，整个程序都无发执行
                Class.forName("com.mysql.cj.jdbc.Driver") ;
                conn = DriverManager.getConnection(
                      //  jdbc:mysql://localhost:3306/chat_room?useUnicode=true&characterEncoding=UTF-8&useTimezone=true&serverTimezone=UTC

                "jdbc:mysql://localhost:3306/chat_room?useUnicode=true&characterEncoding=UTF-8&useTimezone=true&serverTimezone=Asia/Shanghai",
                        "root", "root") ;
            } catch (Exception e) {
                e.printStackTrace();
            }
            threadLocal.set(conn);     // 将刚刚创建好的连接对象保存在ThreadLocal之中
        }
        return conn ;    // 返回连接对象
    }

    public static void closeConnection(){
        Connection conn = threadLocal.get() ;
        if (conn != null) {    // 现在有连接对象了
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            threadLocal.remove();     // 从当前线程之中删除掉指定连接
        }
    }

}
